.class public final Lal;
.super Ljava/lang/Object;


# instance fields
.field private Code:[B

.field private I:I

.field private Z:I


# direct methods
.method public constructor <init>([BI)V
    .locals 7

    const/16 v6, 0x100

    const/4 v3, 0x0

    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    new-array v0, v6, [B

    iput-object v0, p0, Lal;->Code:[B

    move v0, v3

    :goto_0
    if-ge v0, v6, :cond_0

    iget-object v1, p0, Lal;->Code:[B

    int-to-byte v2, v0

    aput-byte v2, v1, v0

    add-int/lit8 v0, v0, 0x1

    goto :goto_0

    :cond_0
    move v0, v3

    move v1, v3

    move v2, v3

    :goto_1
    if-ge v0, v6, :cond_1

    aget-byte v3, p1, v2

    iget-object v4, p0, Lal;->Code:[B

    aget-byte v4, v4, v0

    add-int/2addr v3, v4

    add-int/2addr v1, v3

    and-int/lit16 v1, v1, 0xff

    iget-object v3, p0, Lal;->Code:[B

    aget-byte v3, v3, v0

    iget-object v4, p0, Lal;->Code:[B

    iget-object v5, p0, Lal;->Code:[B

    aget-byte v5, v5, v1

    aput-byte v5, v4, v0

    iget-object v4, p0, Lal;->Code:[B

    aput-byte v3, v4, v1

    add-int/lit8 v2, v2, 0x1

    rem-int/2addr v2, p2

    add-int/lit8 v0, v0, 0x1

    goto :goto_1

    :cond_1
    return-void
.end method


# virtual methods
.method public final Code([BII)V
    .locals 7

    const/4 v0, 0x0

    :goto_0
    if-ge v0, p3, :cond_0

    iget v1, p0, Lal;->I:I

    add-int/lit8 v1, v1, 0x1

    and-int/lit16 v1, v1, 0xff

    iput v1, p0, Lal;->I:I

    iget-object v1, p0, Lal;->Code:[B

    iget v2, p0, Lal;->I:I

    aget-byte v1, v1, v2

    iget v2, p0, Lal;->Z:I

    add-int/2addr v1, v2

    and-int/lit16 v1, v1, 0xff

    iput v1, p0, Lal;->Z:I

    iget-object v1, p0, Lal;->Code:[B

    iget v2, p0, Lal;->I:I

    aget-byte v1, v1, v2

    iget-object v2, p0, Lal;->Code:[B

    iget v3, p0, Lal;->I:I

    iget-object v4, p0, Lal;->Code:[B

    iget v5, p0, Lal;->Z:I

    aget-byte v4, v4, v5

    aput-byte v4, v2, v3

    iget-object v2, p0, Lal;->Code:[B

    iget v3, p0, Lal;->Z:I

    aput-byte v1, v2, v3

    add-int v1, p2, v0

    add-int v2, p2, v0

    aget-byte v2, p1, v2

    iget-object v3, p0, Lal;->Code:[B

    iget-object v4, p0, Lal;->Code:[B

    iget v5, p0, Lal;->I:I

    aget-byte v4, v4, v5

    iget-object v5, p0, Lal;->Code:[B

    iget v6, p0, Lal;->Z:I

    aget-byte v5, v5, v6

    add-int/2addr v4, v5

    and-int/lit16 v4, v4, 0xff

    aget-byte v3, v3, v4

    xor-int/2addr v2, v3

    int-to-byte v2, v2

    aput-byte v2, p1, v1

    add-int/lit8 v0, v0, 0x1

    goto :goto_0

    :cond_0
    return-void
.end method
